const express = require("express");

var md5 = require('md5');

//创建一个路由
const route = express.Router();

//引入正则校验中间件
const addAdminReg = require("../middleware/addAdminReg")

const isLoginMiddle=require('../middleware/isLoginMiddle')
//引入数据库集合对象
const adminModel = require("../db/model/adminModel")

//添加管理员接口(添加正则校验中间件)
route.post("/addAdmin",isLoginMiddle, addAdminReg, async (req, res) => {
  const {
    adminName,
    password,
    regTime
  } = req.body;
  // console.log(adminName, password, regTime);

  try {

    //拿着用户名去数据库的adminModel集合中查询是否存在,findOne如果查询不到返回null
    const findResult = await adminModel.findOne({
      adminName
    })
    // console.log(findResult);

    //如果查询到了,则直接响应该用户名已经注册
    if (findResult) {
      return res.send({
        code: 10001,
        msg: "添加管理员-用户已经被注册",
        data: null
      })
    }

    //如果没有查询到,则向数据库添加该数据
    await adminModel.create({
      adminName,
      //密码在保存的时候加密(并加盐)
      password: md5(password + "123"),
      regTime
    })
    // console.log(createResult);
    res.send({
      code: 10000,
      msg: "添加管理员-添加成功",
      data: null
    })
  } catch (e) {
    console.log("添加管理员中出现了异常" + e.message);
    res.send({
      code: 10002,
      msg: "添加管理员-服务端异常",
      data: null
    })
  }
})

module.exports = route;